Two duplicate CD-ROMs (xe2x80x9cCopy 1xe2x80x9d and xe2x80x9cCopy 2xe2x80x9d) containing a Computer Program Listing Appendix are submitted herewith. Each CD-ROM contains one 43,915 KB file of computer program code according to an embodiment of the present invention, is named xe2x80x9ccode.PDFxe2x80x9d and is in Adobe(copyright) Acrobat(copyright) portable document format (PDF). The Computer Program Listing Appendix is incorporated herein by reference in its entirety.
The present invention relates generally to network computer systems, and more particularly to automatically updating of applications from one computer to another computer over a network.
Operating systems and Internet browsers are commonly used to allow a user to execute and/or read multiple applications and/or files. For example, a Microsoft(copyright) Windows(copyright) operating system allows a user to select an icon which represents an application. Upon selection of the icon, the application is run and the user is able to interface with the application. With respect to an Internet browser, such as Microsoft(copyright) Internet Explorer, a user enters an Internet address which translates to a unique machine on the Internet. The unique machine provides the user data which can be either viewed or run by the user.
One problem faced with operating systems and Internet browsers is the difficulty in updating individual modules of the operating systems and browsers. For example, to update a program on an operating system, the program (or a large amount of data) may need be deleted and a new program (or data) installed in its place. Alternatively, the old program may be completely overwritten by the new program. This process may require the user to actively participate in the updating of applications and files by having to manually replace existing applications and filed with new applications and files. In addition, this procedure can be time consuming, especially if only a minor change is to be made to the application.
Computer applications, such as operating systems, Internet browsers, and other user application, typically use graphical user interfaces. These graphical user interfaces are characterized by the presentation of information in windows, as well as user control by a pointing device such as a mouse. The operation of these graphical user interfaces in such an environment can be described as xe2x80x9cselect-then-operate,xe2x80x9d i.e., a user first selects an object from the interface and then indicates the desired operation for that object.
Graphical user interfaces built according to object oriented principles can be viewed as including three components: the model, the view, and the controller. The model-view-controller (MVC) concept originates from a Smalltalk class-library as described in Design Patterns for Object-Oriented Software Development written by Wolfgang Pree, Addison-Wesley, 1995 and A System of Patterns written by Frank Buschmann, et al., Chichester, West Sussex, John Wiley and Sons, 1996, the contents of which are incorporated herein by reference in their entireties. The model stores application-specific data, e.g., a text processing application stores text characters in the model, and a drawing application stores a description of different graphical shapes in the model. A view presents the model on a display, e.g., a screen. Any number of views might present the model in different ways, although each view accesses the information stored in the model. The controller handles input events, such as mouse interaction and key strokes of a keyboard. The controller can access the view, as well as the model, to make changes to both the model and the view.
Some applications that run on computers using the MVC approach are used as teaching utilities. In addition, other applications are used so that the user can participate in commerce over networks such as the Internet. These applications may require information to be sent from one computer to another. For example, in an educational training program, a user may need to download educational material from a server as well as inform the server of its progress with the educational material. With respect to electronic cominerce, a user may wish to execute a sale via keystrokes on his keyboard and have a message sent to a remote source so that an order for goods or services can be processed.
Therefore, there is a need in the art for an application which can allow a user to select multiple applications for execution, as well as allow a user to update applications without having to overwrite or delete the entire previous version of the application. In addition, there is a need for an application which can allow a user to communicate over a network without the need for a constant connection.
In an exemplary embodiment of the present invention, a method and a system that handles multiple applications and allows for the seamless exchange of information from one computer to another is described. An application browser is provided which is run on a first computer including at least one database that stores a plurality of objects; an update module that uploads and downloads objects from a second computer; and a database manager that controls storage of, and access to, the objects stored in the at least one database and interfaces with the update module and the at least one database, wherein the at least one database includes at least one table storing at least one of the plurality of objects.